Lender Price API
iFrame Integration Options / Generic LOS Integration / Required LOS APIs / Loan Information API
In This Topic
    Loan Information API
    In This Topic

    Prior to implementing an iFrame integration, the LOS must develop the following methods to allow Lender Price to retrieve basic loan data such as borrower and property information.

     Get Loan Information

    This method retrieves basic information about a loan that is specified by its loan ID.

    Method: GET

    Relative Path: /loan-display-data/{id}?context=string

    Path Parameters:

    id

    Unique LOS loan ID of the loan for which information is being requested.

    This value is passed in by the requesting loan officer in the ext_user_id field during Authentication.

    For additional information, refer to LOS Authentication.

    Sample Response Payload:

    Copy Code
    {
        id: string;
        name: string;
        borrowers: {
            firstname: string;
            lastname: string;
            middlename: string;
            martialStatus: null | 'Married' | 'Separated' | 'Unmarried'
        }[]?;
        property: {
            streetAddress: string;
            city: string;
            state: string;
            zip: string;
            county: string;
            financedNumberOfUnits: string;
            propertyType:
                'Detached' |
                'Attached' |
                'Condominium' |
                'HighRiseCondominium' |
                'DetachedCondominium' |
                'PUD' |
                'Cooperative' |
                'ManufacturedHousing' |
                'ManufacturedHomeCondominiumOrPUDOrCooperative' |
                'ManufacturedHousingSingleWide' |
                'ManufacturedHousingMultiWide' |
                'MHSelect';
        }?;
        loan: {
            propertyUsageType: 'PrimaryResidence' | 'SecondHome' | 'Investor';
            mortgageType:
                'VA' | 'FHA' | 'Conventional' | 'USDA' | 'Other' | 'HELOC'; // It is just for display and follow the mismo standard
            loanAmortizationType: 'Fixed' | 'AdjustableRate';
            loanAmortizationTermMonths: number;
            baseLoanAmount: number;
            requestedInterestRatePercent: number;
            propertyAppraisedValueAmount: number;
            propertyEstimatedValueAmount: number;
            purchasePriceAmount: number;
            downPayments: {
                amount: number;
            }[]?;
        }
    }
     Get Loan Pricing

    This method returns current pricing information stored by the LOS, including any custom fields, that is necessary for Lender Price to price a loan.

    Method: GET

    Relative Path: /loan/{loanId}?context=string

    Path Parameters:

    loanId Loan ID number on the LOS client system.

    Sample Response Payload:

    Copy Code
    {
        id: string;
        context: string;
        name: string;
        lockDetails: {
            lockExpirationDate: string; // yyyy-MM-dd'T'HH:mm:ssZ
        },
        criteria: {
            fico: number;
            loanPurpose: 'Purchase' | 'Refinance' | 'StreamLineRefinance' | 'CashoutRefinance' | 'Construction' | 'ConstructionPerm' | 'VAIRRRL'
            mortgageType: 'UsdaRural' | 'FHA' | 'VA' | 'Conventional' | 'BP' | 'NonPrime' | 'HELOC' | 'NonAgency' | 'HomeEquity';
            loanType: 'Fixed' | 'Variable';
            variableType: '_1_1' | '_1_6' | '_2_1' | '_3_1' | '_3_5' | '_3_6' | '_5_1' | '_5_2' | '_5_5' | '_5_6' | '_7_1' | '_7_2' | '_7_6' | '_10_1' | '_10_6' | '_15_6' | '_6_6' | '_6m_6';
            veteranType: 'Active_Or_Veteran' | 'Reserves_Or_National_Guard' | 'National_Guard';
            vaUsageType: 'First_Use' | 'Subsequent_Use';
            termInMonths: number;
            purchasePrice: number;
            appraisedValue: number?;
            loanAmount: number;
            cashoutAmount: number?;
            escrowWaiver: boolean;
            clientDti: number;
            lienPriorityType: 'FirstLien' | 'SecondLien' | 'ThirdLien';
            subordinateLoanAmount: number?;
            renovationCost: number?;
            guaranteeFeeFinanced: null | 'YES' | 'NO';
            ufmipFinanced: 'YES' | 'NO'; /* default YES */
            miPremiumFinancedIndicator: boolean?;
            fundingFeeFinanced: null | 'YES' | 'NO' | 'EXEMPT';
            compensationType: 'LenderCompPlan' | 'BorrowerCompPlan';
            closingDate: string?; // yyyy-MM-dd'T'HH:mm:ss
            propertyUse: 'PrimaryResidence' | 'SecondaryVacation' | 'Investment';
            buyDown: null | '_3_2_1' | '_1_1_1' | '_2_1' | '_1_1' | '_1_0';
            interestOnly: boolean; // null will retrieve both true and false
            nonWarrantableProject: boolean?;
            pmiType: 'None' | 'LPMI' | 'BPMI';
            ownProperties: number?;
            selfEmployed: boolean?;
            firstTimeHomeBuyer: boolean; // false by default
            rural: boolean?;
            dscr: number?;
            docType: null |
                'FullDoc' | // Full Doc
                'PBS24Mo' | // 24 Mo. Personal Bank Statements
                'PBS12Mo' | // 12 Mo. Personal Bank Statements
                'BBS24Mo' | // 24 Mo. Business Bank Statements
                'BBS12Mo' | // 12 Mo. Business Bank Statements
                'OtherBankStatements' | // Other Bank Statements
                'CPAPPL24Mo' | // 24 Mo. CPA Prepared P&L
                'CPAPPL12Mo' | // 12 Mo. CPA Prepared P&L
                'TAXPREPPL24Mo' | // 24 Mo. Tax-Prepared P&L
                'TAXPREPPL12Mo' | // 12 Mo. Tax-Prepared P&L
                'ONEYRTAXRETURNS' | // 1 Yr. Tax Returns
                'VOE' | // VOE
            'AssetUtilization' | // Asset Utilization
            'DSCR' | // Debt Service Coverage (DSCR)
            'NoRatio' | // No Ratio
            'AltDoc'; // Alt Doc
        };
        brokerCriteria: {
            dayLocks: number;
            ausList: (
                'None' // Non Conforming,
                | 'GUS' // Guaranteed Underwriting Service
                | 'MUW' // Manual Underwriting
                | 'LP' // LP
                | 'DU' // DU
            )[];
            qmTypes: ('All' | 'QM' | 'NONQM')[];
            rateTypes: ('All' | 'ForBroker' | 'ForCorresponding' | 'ForWholeSale' | 'AsRetail')[];
            compPlan: number?;
        };
        property: {
            address: {
                street: string?;
                city: string?;
                state: string;
                zip: string;
                countyFips: string;
            };
            numberOfUnit: number; // default 1
            attachmentType: 'Attached' | 'Detached' | 'SemiDetached'; // default as 'Attached'
            propertyType:
                'SingleFamily' | // Single Family SFR
                'PlannedUnitDevelopment' | // PUD
                'UnitDwelling_2_4' | // 2-4 Unit
                'Modular' | // Modular
                'Townhouse' | // Townhouse
                'Condos' | // Low Rise Attached Condo
                'DetachedCondominium' | // Detached Condo
                'HighRiseCondo' | // High Rise Condo
                'SiteCondo' | // Site Condo
                'CondoGarden' | // Condo Garden
                'MidRiseCondo' | // Mid Rise Condo
                'CondoTel' | // CondoTel
                'ManufacturedHousingDoubleWide' |
                'ManufacturedHousingSingleWide' |
                'Cooperative';
        };
        customFields: {
            id: string;
            value: string;
        }[];
    }

    customFields Array

    When retrieving pricing information, information included in custom fields may also be returned.

    Sample customField Data

    Copy Code
    customFields: [
        {
            id: 'FHACASEASSIGNDATE',
            value: '2023-05-15T18:58:41Z'
        },
        {
            id: 'PROPERTYUNIT',
            value: '3'
        },
        {
            id: 'Citizenship',
            value: 'US Citizen'
        }
    ];

    Retrieve Available Custom Fields

    Issue the following command to retrieve the list of currently available custom fields from Lender Price:

    GET {{domain}}/rest/getDynamicFields/{companyId}/{userId}?context=string
    

    For complete information about custom fields, refer to:

     Get Pricing Differences

    This method checks for, and returns, any pricing differences in the loan.

    Method: GET

    Relative Path: /loan-diff/{loanId}?context=string

    Path Parameters:

    loanId

    Unique LOS loan ID of the loan for which information is being requested.

    This value is passed in by the requesting loan officer in the ext_user_id field during Authentication.

    For additional information, refer to LOS Authentication.

    Sample Response Payload:

    Copy Code
    {
        balloonLoanMaturityTermMonths: number;
        creditScore: number;
        loanScheduledClosingDate: string; // yyyy-MM-dd'T'HH:mm:ss
        financedNumberOfUnits: number;
        gsePropertyType:
            'Detached' |
            'Attached' |
            'Condominium' |
            'HighRiseCondominium' |
            'DetachedCondominium' |
            'PUD' |
            'Cooperative' |
            'ManufacturedHousing' |
            'ManufacturedHomeCondominiumOrPUDOrCooperative' |
            'ManufacturedHousingSingleWide' |
            'ManufacturedHousingMultiWide' |
            'MHSelect';
        lienPriorityType:
            'FirstLien'
            | 'SecondLien'
            | 'ThirdLien';
        loanAmortizationTermMonths: number;
        loanAmortizationType: 'Fixed' | 'Variable';
        loanPurpose:'Purchase' | 'Refinance' | 'StreamLineRefinance' | 'CashoutRefinance' | 'Construction' | 'ConstructionPerm' | 'VAIRRRL';
        mortgageType: 'VA' | 'FHA' | 'Conventional' | 'USDA' | 'Other' | 'HELOC';
        propertyAddressZip: string;
        propertyAddressCity: string;
        propertyAddressState: string;
        propertyAddressStreet: string;
        propertyAddressCounty: string;
        propertyAddressNumberUnit: number;
        propertyUsageType: 'PrimaryResidence' | 'SecondHome' | 'Investor';
        purchasePriceAmount: number;
        requestLockDate: string; // yyyy-MM-dd'T'HH:mm:ss
        requestNumberOfDays: number;
        requestRate: number;
        baseLoanAmount: number;
        variableLoanType: '_1_1' | '_1_6' | '_2_1' | '_3_1' | '_3_5' | '_3_6' | '_5_1' | '_5_2' | '_5_5' | '_5_6' | '_7_1' | '_7_2' | '_7_6' | '_10_1' | '_10_6' | '_15_6' | '_6_6' | '_6m_6';
        loanProgram: string;
        requestRateSheetID: string;
        propertyAppraisedValueAmount: number;
        requestPriceRate: number;
    }